#include <cstdio>
int main()
{
    int a[30],b;
    int num;
    scanf("%d%d",&num,&b);
    int len=0;
    while(num!=0)
    {//依次把转换之后的b进制数保存到数组中
        a[len++]=num%b;
        num/=b;
    }
    int i,j;
    for(i=0,j=len-1;i<j;++i,--j)
    {//判断是否为回文数
        if(a[i]!=a[j])break;
    }
    if(i<j)
    {
        printf("No\n");
    }else{
        printf("Yes\n");
    }
    for(i=len-1;i>=0;--i)
    {
        printf("%d",a[i]);
        if(i>0)putchar(' ');
    }
    return 0;
}
